Performance may be important to consumers in evaluating a modern software product. For example, the end to end time an application takes to perform certain operations and/or tasks, referred to herein as “transactions”, may be considered to be an important performance metric. Typically, performance testing may be performed during the product lifecycle of a modern software product, to ensure and demonstrate that the software meets stated performance goals.
Most software uses a user interface to interact with human users, e.g., to receive user input and/or display information. Web-based or other display page-based graphical user interfaces are common. For such software, an end to end transaction may start from an operation initiated through the user interface and end with a change of the user interface, such as to display a result, stop displaying an “operation in progress” animation or other indication, etc. Measuring the response time of end to end transaction manually can be a very time-consuming and monotonous work.